The software is used by the normal users increasingly as a kind of human auxiliary tools, and the demand for it by people is more and more abundant and the requirement is higher and higher at the same time. As the complexity of the software is raised, it needs increasingly high hardware configuration for support. However, for the purchasing power of a large number of users, the hardware resource that the normal personal users can have is very limited, which just leads to the fact that the software service that the personal user can enjoy will be very limited. No matter how perfect the traditional software design is, once it is sold to the user and installed onto the client, its subjectivity function is basically fixed. Even if part of its functions can be improved or expanded through the way of network upgrading, but it is only limited in the aspects, such as, improving, expanding and revising Bug, etc., and it will not let a software be turned into another software through the network upgrading. Wherein, there are many problems such as the technology, interests, etc. This causes the current situation that the user has to buy the brand new software whenever the user needs to use a certain software function (even if there is a temporary need). If the software needs very high hardware configuration for support, then the user still has to buy that. This makes that the cost paid is too high when the user wants to solve a certain problem, and the price-performance ratio is very low. And this also greatly limits the usage of the software user and the popularization of the software, after all not all users can buy that without the least hesitation.
So, a method for realizing the complex software service is required to be provided badly, which can provide more abundant, more powerful, more steady and more secure software and hardware resource services for the user and makes the cost paid by the user far less than that in the traditional software way.